﻿using System;

namespace Vortex.Drawing.Performance {

	/// <summary>
	/// Vortex Drawing subsystem performance count
	/// </summary>
	public enum DeviceCounter {
		BatchesRendered,
		TexturesChanged,
		SamplerStatesChanged,
		VertexShaderChanged,
		PixelShaderChanged,
		ShaderConstantsChanged,
		ShaderConstantsInterruptedBatch,
		CanvasSwitches,
		StatesChanged,		
		VerticesDrawn,
		IndicesDrawn,
		PrimitivesDrawn,
		TextCharDrawn
	}

	/// <summary>
	/// Vortex Drawing subsystem performance timer
	/// </summary>
	public enum DeviceTimer {
		/// <summary>Time of frame drawing</summary>
		Frame,
		/// <summary>Buffer lock time</summary>
		BufferLock,
		/// <summary>Buffer unlock time</summary>
		BufferUnlock,
		/// <summary>Time of draw calls </summary>
		Drawing
	}
}